package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.HatchetAgent;
import com.ruoyi.system.vo.AgentMerchantChangeVo;	

/**
 * 代理商 数据层
 * 
 * @author ruoyi
 * @date 2019-02-15
 */
public interface HatchetAgentMapper 
{
	/**
     * 查询代理商信息
     * 
     * @param iD 代理商ID
     * @return 代理商信息
     */
	public HatchetAgent selectHatchetAgentById(String iD);
	
	/**
     * 查询代理商列表
     * 
     * @param hatchetAgent 代理商信息
     * @return 代理商集合
     */
	public List<HatchetAgent> selectHatchetAgentList(HatchetAgent hatchetAgent);
	
	/**
     * 新增代理商
     * 
     * @param hatchetAgent 代理商信息
     * @return 结果
     */
	public int insertHatchetAgent(HatchetAgent hatchetAgent);
	
	/**
     * 修改代理商
     * 
     * @param hatchetAgent 代理商信息
     * @return 结果
     */
	public int updateHatchetAgent(HatchetAgent hatchetAgent);
	
	/**
     * 删除代理商
     * 
     * @param iD 代理商ID
     * @return 结果
     */
	public int deleteHatchetAgentById(String iD);
	
	/**
     * 批量删除代理商
     * 
     * @param iDs 需要删除的数据ID
     * @return 结果
     */
	public int deleteHatchetAgentByIds(String[] iDs);

	public HatchetAgent selectHatchetAgentByNo(String agentNo);

	public List<HatchetAgent> selectHatchetAgentByaction(HatchetAgent hatchetAgent);
	/**
	 * 查询树结构代理商
	 * @param parentId 代理商的id
	  * @param likeDepartmentCode 模糊匹配代理商code
	 * @return
	 */
	public List<HatchetAgent> selectHatchetAgentTree(HatchetAgent hatchetAgent);

	public String selectMaxCode(String parentId);

	public String queryAgentLevelMax(String agentNo);
	
	/**
	 * 查询直接下属代理商财务信息
	 * @param hatchetAgent 
	 * @return
	 */
	public List<AgentMerchantChangeVo> selectUnderAgentMoneyForDLS(HatchetAgent hatchetAgent);

	public List<HatchetAgent> selectAllAgent();
	
}